<?php
namespace app\plug\controller\qiniu;

vendor('qiniu.autoload');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use think\Controller;


class Qiniu extends Controller
{
    public function index()
    {
        return '这里是七牛云插件控制器';
    }

    /**
     * @throws
     * 上传图片
     * $filePath        本地文件路径
     * $file_name       保存七牛云文件名
     */
    public function upload_pic($filePath,$file_name){

        // 获取七牛配置信息
        $qiniu_config   = Db("web_config")->where('key','qiniu')->find();
        $config         = json_decode($qiniu_config['value'],true);

        // 实例化七牛上传类
        $auth = new Auth($config['ak'], $config['sk']);

        // 生成token
        $token = $auth->uploadToken($config['bk']);

        $uploadMgr = new UploadManager();

        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($ret, $err) = $uploadMgr->putFile($token, $file_name, $filePath);

        // 错误提示
        if($err !== null ){
            return [
                'code'  => 0,
                'data'  => $err
            ];
        }else{
            return [
                'code'  => 1,
                'data'  => $config['domain'].'/'.$ret['key']
            ];
        }
    }


}
